
#pragma once
#include <vector>
#include <cstdint>
#include "vp/SignalServiceId.h"
namespace ecarx::transfer::validate {
    struct ValidOperationArray
    {
        int len;
        uint16_t * oper_ids;
    };

    const uint16_t getAllServiceIds[]={
EcarXSignalServiceID::serviceID_CARCONFIG,
EcarXSignalServiceID::serviceID_CARCONFIGTHOUSAND,
EcarXSignalServiceID::serviceID_RX1,
EcarXSignalServiceID::serviceID_RX2,
EcarXSignalServiceID::serviceID_APPLOG,
EcarXSignalServiceID::serviceID_CLIMATE,
EcarXSignalServiceID::serviceID_DIAGDID,
EcarXSignalServiceID::serviceID_DIAGOTA,
EcarXSignalServiceID::serviceID_POWER,
EcarXSignalServiceID::serviceID_VFCIPWAKEUP
    };

    const uint16_t getReadyServiceIds[] = {
            EcarXSignalServiceID::serviceID_CARCONFIG,
            EcarXSignalServiceID::serviceID_CARCONFIGTHOUSAND,
            EcarXSignalServiceID::serviceID_CLIMATE,
    };

    const ValidOperationArray getValidOperation(const int);

    bool availableServiceID(const int);
} 
